package com.boss.salary.service;

import com.singularsys.jep.JepException;
import org.springframework.scheduling.annotation.Async;
import org.springframework.transaction.annotation.Transactional;

import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface ISalaryHistoryAsyncService {

    @Async
    void saveMonthEndAsynchronous(Integer year, String province, List<String> agencyIds, Map<String, String> monthMap, Map<String, String> agencyNameMap, Map<String, String> agencyCodeMap, List<Object[]> personOperateUpdateList, String uuid) throws ParseException, InvocationTargetException, IllegalAccessException, NoSuchMethodException, JepException;

    @Transactional(rollbackFor = Exception.class)
    void saveMonthEnds(Integer year, String province, String agencyId, Map<String, String> monthMap, Map<String, String> agencyNameMap, Map<String, String> agencyCodeMap,List<Object[]> personOperateUpdateList,StringBuffer requestMessage) throws ParseException, InvocationTargetException, IllegalAccessException, NoSuchMethodException, JepException;

}
